Automatic range adjustment techniques for stand-mountable bar code scanners

ABSTRACT

By automatically adjusting the object detection mechanism of a bar code scanner from a long range mode of operation to a short range mode of operation, the scanner will remain capable of detecting and decoding bar codes even if the object detection mechanism repeatedly detects the presence of a background object. The techniques of the present invention commence when the bar code scanner is placed in a position such that the scanner&#39;s object detection mechanism repeatedly detects a background object such as a counter top or conveyer belt. The object detection mechanism is set to the long range mode of operation if it is not already so set. In the case of a stand-mounted scanner, a test is performed to ascertain whether or not the scanner is in its stand, and the method will only proceed once the scanner is resting in the stand. Next, the scanner is programmed to wait for a predetermined amount of time, after which the operational mode of the object detection mechanism is changed from the long range mode to the short range mode. At this time, the object detection mechanism no longer detects the presence of the background object. The scanner will now detect any new objects that enter the field of view of the object detection mechanism, and attempt to read any bar codes which may be present

This is a continuation of application Ser. No. 09/589,853, filed Jun. 8, 2000, now U.S. Pat. No. 6,637,655, the disclosure of which is hereby incorporated by reference herein in its entirety.

1. FIELD OF THE INVENTION

The invention relates generally to optical bar code scanners, and, more specifically, to stand-mountable bar code scanners that are equipped to operate in a long-range mode and a short range mode of object detection.

2. BACKGROUND ART

Many existing optical bar code scanners utilize an object detection mechanism to determine if an object is in proximity to the optically transmissive window of the scanner. Illustratively, this object detection mechanism may be implemented using an infrared light source and an infrared detector. If an object is detected, the scanner will activate a laser beam source of a bar code detection and decoding mechanism so as to attempt a reading of one or more bar codes on the object. If, during this process, a bar code is not detected and decoded, the scanner will deactivate the laser beam source and wait for another object to enter the field of view of the object detection mechanism. Unless the object detection mechanism detects the presence of another object, the laser beam source will remain deactivated, and, in this state, it will not be possible to read any bar codes. Once the object detection mechanism detects a new object, the process of attempting to read a bar code begins again. The scanner reactivates the laser beam source, thereby permitting one or more bar codes to be detected and decoded.

Problems arise if the scanner is mounted or remains in a position such that the object detection mechanism repeatedly detects the presence of a background object, over and over again, but at no time detects the absence of this object. In such situations, the scanner will fail to detect and decode bar codes. The object detection mechanism has deactivated the laser beam source in response to the background object. The laser beam source will not be reactivated unless the object detection mechanism determines that the background object has been removed.

The foregoing scenario will arise in operational environments where a bar code scanner is aimed at a counter top, or other background object, while mounted in a stand. Examples of background objects include counter surfaces, conveyer belts, stands, brackets, and various other surfaces in and around point-of-sale terminals. Some of these objects, such as counter tops, will remain stationary with respect to the bar code scanner, whereas other objects, such as conveyer belts, will not.

SUMMARY OF THE INVENTION

By automatically adjusting the object detection mechanism of a bar code scanner from a long range mode of operation to a short range mode of operation, the scanner will remain capable of detecting and decoding bar codes, even after the object detection mechanism has repeatedly detected the presence of a background object. The techniques of the present invention commence when the bar code scanner is placed in a position where the object detection mechanism has repeatedly detected a background object such as a counter top or conveyer belt. The object detection mechanism is set to the long range mode of operation if it is not already so set. In the case of a stand-mounted scanner, a test is performed to ascertain whether or not the scanner is in its stand, and the method will only proceed once the scanner is resting in the stand. Next, the scanner is programmed to wait for a predetermined amount of time, after which the operational mode of the object detection mechanism is changed from the long range mode to the short range mode. At this time, the object detection mechanism no longer detects the presence of the background object, The scanner will now detect any new objects that enter the field of view of the object detection mechanism, and attempt to read any bar codes which may be present.

The invention and its particular features and advantages will become more apparent from the following detailed description considered with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B together comprise a flowchart setting forth an operational sequence according to a preferred embodiment of the invention.

FIGS. 2A through 2E together comprise a source code printout showing an illustrative machine-executable implementation for the method described in FIGS. 1A and 1B.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As stated above, the invention relates to stand-mountable bar code scanners that are equipped to operate in a long-range mode and a short range mode of object detection. Examples of such bar code scanners are disclosed in U.S. Pat. No. 5,340,971, issued on Aug. 23, 1994; U.S. Pat. No. 5,528,024, issued on Jun. 18, 1996; U.S. Pat. No. 5,525,789, issued on Jun. 11, 1996; U.S. Pat. No. 5,825,012 issued on Oct. 20, 1998; U.S. Pat. No. 5,886,337 issued on Mar. 23, 1999; U.S. Pat. No. 5,789,730, issued on Aug. 4, 1998; U.S. Pat. No. 5,837,989, issued on Nov. 17, 1998; and U.S. patent application Ser. No. 09/273,825 filed on Mar. 22, 1999. The disclosures of these issued U.S. Patents and patent application are incorporated by reference as if fully set forth herein.

Refer now to FIGS. 1A and 1B, which together comprise a flowchart setting forth an operational sequence according to a preferred embodiment of the invention. The operational sequence commences at block 101, where a bar code scanner is placed in a position such that the scanner's object detector repeatedly detects a background object such as a countertop or a conveyer belt. This may occur, for example, if a bar code scanner is placed into its stand, and the positioning of the stand causes the bar code scanner to be aimed down at the countertop surface. Such a mounting configuration is commonplace at many point-of-sale terminals, so as to permit the scanner operator to quickly access and remove the bar code scanner from its stand during a sales transaction, and then reinsert the scanner into its stand after a scan has been performed. Unless the stand is positioned so as to aim the resting scanner upwards and away from the counter (which sometimes could result in the scanner being pointed at customers' eyes), most practical mounting configurations will result in the scanner being aimed at some type of background surface.

After the scanner is positioned as specified in block 101, a test is performed to ascertain whether or not the scanner's object detection mechanism is set to long range mode (block 103). This test may be performed by means of software instructions that are executed by a processing mechanism within, and/or coupled to, the bar code scanner. If the scanner's object detection mechanism is already set to long-range mode, the program advances to block 107. However, if the scanner's object detection mechanism is not set to long-range mode, program control advances to block 105 where the scanner's object detection mode is set to long range. Then the program progresses to block 107.

At block 107, a test is performed to ascertain whether or not the scanner is placed in its stand. This step need only be performed for bar code scanners that are stand-mountable. However, the techniques of the present invention are also applicable to non-stand-mountable bar code scanners, in which case, the test of block 107 need not be performed and the program will advance directly to block 111. For the moment, assume that the bar code scanner under consideration is, indeed, a stand-mountable scanner. If the test of block 107 determines that the scanner is not in its stand, the program waits until the scanner is placed in its stand (block 109). Illustratively, this test may be performed by equipping the stand and/or the scanner itself with a proximity switch or pressure sensor that automatically detects the presence or absence of the bar code scanner in its stand. Or, alternatively, instead of testing to see whether or not the scanner is in its stand, the operations of block 107 could be configured to see whether or not the scanner is in a position such that it is repeatedly detecting a background object and never detecting the absence of this object. If the scanner has been placed into its stand (block 109), or, pursuant to the foregoing alternative, if the scanner is in a position such that it is repeatedly detecting a background object, the program advances to block 111.

At block 111, the program simply waits for a predetermined amount of time before proceeding further. One reason this is done is to avoid hysteresis effects where a user may be removing the scanner from its stand or getting ready to place the scanner back into its stand. If this waiting period were to be eliminated, the following step (block 113) might be performed at an inappropriate time, incorrectly placing the scanner into short-range mode when this is not desirable.

At block 113, after the waiting period has elapsed, the mode of the object detection mechanism is automatically changed from long range to short range. The object detector now detects the absence of the background object (block 115). Moreover, the scanner will now detect any new objects that enter the scanner's field of view.

FIGS. 2A through 2E are a source code printout showing an illustrative machine-executable implementation for the method described in FIGS. 1A and 1B. The instructions in bold type, starting at FIG. 2B, implement the operational sequence of blocks 103-113 (FIGS. 1A and 1B). The source code listing will be performed by the processing mechanism of the bar code scanner at the time that an object is repeatedly detected by the object detection mechanism (i.e., the object has remained in the object detection field), and the scanner's processing mechanism is awaiting the removal of the object before it will read bar codes.

As a preliminary matter, the source code program of FIGS. 2A through 2E set up the object detection port. In this case, a source of infrared light is used to provide object detection, so the port is an IR detection port. Next, the program checks for command requests and enables deactivation of the scanner's motor. When activated, this motor rotates a polygon of light-reflective surfaces used to project bar code scanning lines into a scan field. This scan field is expected to include at least a portion of the detected object. The laser and LED operating modes are acquired, and the program takes any of various actions depending upon whether the scanner is in a “continuous blinky” (i.e., pulsed) mode.

On the second page of the source code (FIG. 2B), following the bold-type instruction NT_TST, the laser is deactivated if it is not already turned off. The program then determines whether or not the scanner is in its stand, as previously described with reference to FIG. 1, block 107. If the bar code scanner is in its stand, the program waits for a predetermined amount of time (FIG. 1, block 113). In the example of FIG. 2, this predetermined amount of time is one second, although any of various other time delays could be used, from about zero seconds on up to about twenty seconds, depending upon the specific system application in question. During this time delay, the object detection mechanism of the bar code scanner remains in the long range mode. The object detection mechanism (referred to in FIG. 2 as the “IR range detector” is set up in the short-range mode by specifying this mode in a shadow RAM (random-access memory) device associated with the scanner's processing mechanism.

After the line labelled “SHORT3:”, the program determines the status of an indication LED on the bar code scanner. Next, after the line labelled “DTROFF:” and including the instruction “BCLR IRACT”, the infrared object detection mechanism is activated and the scanner checks for the presence of an object. The last page of the source code listing sets forth a subroutine for setting up preprogrammed long-range and short-range values for the object detection mechanism of the bar code scanner. These values are programmed into the previously-mentioned shadow RAM.

While the preferred embodiments of the present invention have been described in detail, it will be appreciated that numerous variations and modifications of the present invention will occur to persons skilled in the art. All such variations and modifications shall constitute the present invention as defined by the scope and spirit of the appended claims. Although the invention has been described above with reference to particular arrangements of features, techniques, programming instructions, and the like, these are not intended to exhaust all possible arrangements, and many other modifications and variations will be ascertainable to those of skill in the art. 

1. A bar code scanner, comprising a scanning mechanism equipped to generate and control a scanning beam; an object detection mechanism equipped to perfom a long range mode of object detection and a short range mode of object detection, the short range mode of operation corresponding to a mode of operation where the scanning mechanism is activated when the presence of a background object is detected by the object detection mechanism in a first range and the long range mode of operation corresponding to a mode of operation where the scanning mechanism is activated when the presence of an object is detected by the object detection mechanism in a second range with the second range being more distant from the object detection mechanism than the first range, wherein when the object detection mechanism repeatedly detects a presence of a background object, the object detection mechanism is automatically placed in the short range mode of operation so that the bar code scanner will detect presence of new objects while the background object is still present.
 2. The bar code scanner according to claim 1, wherein the object detection mechanism is automatically placed in the short range mode of operation after a predetermined time delay following repeatedly detecting a presence of a background object.
 3. The bar code scanner according to claim 2, wherein the predetermined time delay is greater than 0 seconds but less than twenty seconds.
 4. The bar code scanner according to claim 3, wherein the predetermined time delay is less than one second.
 5. The bar code scanner according to claim 1, wherein the background object is a countertop.
 6. The bar code scanner according to claim 1, wherein the background object is a conveyor belt.
 7. The bar code scanner according to claim 1, wherein the bar code scanner is adapted for repeated insertion into, and removal from, a stand.
 8. A stand-mountable bar code scanner, comprising: a scanning mechanism equipped to produce and control a scanning beam; a processing mechanism equipped to perform a test to ascertain whether or not the scanner is in a stand; and an object detection mechanism equipped to perform a long range mode of object detection and a short range mode of object detection, the short range mode of operation corresponding to a mode of operation where the scanning mechanism is activated when the presence of a background object is detected by the object detection mechanism in a first range and the long range mode of operation corresponding to a mode of operation where the scanning mechanism is activated when the presence of an object is detected by the object detection mechanism in a second range with the second range being more distant from the object detection mechanism than the first range, wherein when the object detection mechanism repeatedly detects a presence of a background object, the object detection mechanism is set to the long range mode of operation if the object detection mechanism is not already so set, and, once the scanner is ascertained to be in the stand, a predetermined amount of time is waited, after which the mode of the object detection mechanism is changed from the long range mode to the short range mode so that the bar code scanner will detect presence of new objects while the background object is still present.
 9. The stand-mountable bar code scanner according to claim 8, wherein the object detection mechanism no longer detecting the presence of the background object after the object detection mechanism is changed from the long range mode to the short range mode.
 10. The stand-mountable bar code scanner according to claim 9, wherein the scanner will detect any new objects that enter the field of view of the object detection mechanism and attempt to read any bar codes which may be present after the object detection mechanism is changed from the long range mode to the short range mode.
 11. The stand-mountable bar code scanner according to claim 8, wherein the background object is a countertop.
 12. The stand-mountable bar code scanner according to claim 8, wherein the background object is a conveyor belt. 